Personal computers connecting to networks through the public switched telephone system (PSTN) typically use a modem to dial-up a network connection through analog telephone lines. These client, or end user, modems transmit data signals converted to digital source through an analog channel through a network. Due to the increase in data, voice, and facsimile traffic over the telecommunications infrastructure, methods to increase the digital and analog transfer rates through modems over telephone lines are extremely useful and necessary to adhere to International Telecommunication Union (ITU) standards.
The Telecommunication Standardization Sector of the ITU (ITU-T) adopted V.34 Recommendation in 1994, which is incorporated herein, to define modem operating speeds rom 28.8 kilobyte per second (kbps) up to 33.6 kbps. However, data transfer rates are limited over the PSTN. In modems built to V.34 standards of the International Telecommunications Union (ITU), and all previous voice-band modem standards, carrier-modulated quadrature amplitude modulation (QAM) is used to quantize the analog signals using u-law (or A-law for some standards outside of the U.S.) pulse code modulation (PCM) codecs. In such a system, the carrier frequency and symbol rate are chosen to match the channel, not the codec. However, in many cases there is a direct digital connection upstream of the analog client modem between a central office (CO) of the PSTN and a server modem on a digital network. PCM modems are built to take advantage of networks used by internet service providers or others connected to the PSTN through a digital connection, such as T1 in the United States and E1 in Europe. PCM modems use either standards for “PCM downstream” modulation, as described in ITU V.90, or “PCM upstream, as described in ITU V.92 recommendations. A connection between a client modem on a local loop of the PSTN and a connection on the digital network can be referred to as a “PCM channel”.
In PCM downstream, data is transmitted in PCM mode downstream from a central office to an end user's analog modem, i.e. from server to client. The upstream digital PCM modem transmits over a digital network in eight bit digital words called octets that correspond to different central office codec output levels. At the client modem's central office, the octets are converted to analog levels which are transmitted over an analog loop. The client PCM modem then converts the analog levels back to digital signals, or pulse code amplitude (PAM) signals, and into equalized digital levels. The equalized digital levels are ideally mapped back into the originally transmitted octets that the octets represent
When using PCM downstream modulation, the client modem synchronizes to the central office codec and tries to determine exactly which PCM sample was transmitted in each sample. In codecs throughout the world, the codec clock is 8000 Hz. Since there are 255 different μ-law levels and 256 different A-law levels, the data rates could go as high as nearly 64 kbps (8 bits/sample at 8000 samples/second). Practically, because the smallest levels are often too small to distinguish and because of regulatory power limits on the transmit signal, the highest data rate is listed as 56 kbps although even that is usually higher than what most channels will support. In PCM downstream, the client modem must implement an equalizer to undo the effects of intersymbol interference caused by the channel (the telephone line plus the analog front-end of the codec and client modems) in order to recover the PCM levels.
In PCM upstream modulation, the client modem transmits analog levels corresponding to data to be transmitted to the digital server modem over an analog telecommunications line. The analog levels are modified by the channel characteristics of the analog line. The modified levels are quantized to form octets by a codec in the central office. In PCM upstream, the channel comes before the codec, further limiting the highest possible data rate. The codec then transmits the octets to the PCM server modem over the digital network. At the server modem, the transmitted levels are demodulated from the octets, thereby recovering the data sent from the client modem.
If the client modem were simply to transmit PCM levels, the channel would distort the levels so that when it reached the codec, they would not resemble the transmitted levels at all. The server modem is not able to equalize the receive signals until after the codec and therefore can not limit the effect of quantization noise. In order to take advantage of the PCM codec in the upstream direction, the client modem must implement an equalizer in the transmitter to undo the effects of intersymbol interference.
There are a number of factors that limit the PCM upstream data rate more than the PCM downstream data rate and provide additional challenges. Regulatory limits on the client modem transmit power mean that the higher the upstream channel attenuation, the lower the upstream data rate. In the downstream direction, only the signal-to-noise ratio (SNR) limits downstream performance. The echo from the downstream signal is added before the codec. Even a perfect echo canceller in the server modem can not remove the quantization noise caused by the echo. The equalizer in the client transmitter can not continually adapt to changing channel conditions as can the receive equalizer used for PCM downstream. The only way to adapt the transmit equalizer is for the server to notify the client through a rate renegotiation. The timing recovery in the upstream direction is more difficult that in the downstream direction. Due to these and other problems in PCM upstream transmissions, the levels transmitted by the client PCM modem are modified. Since these modified levels are quantized to form octets by the codec, and not the levels that are actually transmitted, it can be difficult for the server modem to accurately determine from the octets the data being transmitted by the client modem.
In general, signal constellations consist of complex-valued signal points which lie on an N-dimensional grid. User data is encoded into constellation points. One constellation point is transmitted during each symbol period. The higher the symbol rate and the more constellation points, the higher the data rate.
Codes are often used to prevent certain sequences of constellation points to reduce the likelihood of decoder errors. Recommendation V.92 states that the convolutional encoders from Recommendation V.34 shall be used for V.92. ITU-T Recommendation V.34 are standards for a modem operating at data signaling rates of up to 33,600 bits/s for use on the general switched telephone network and on leased point-to-point 2-wire telephone type circuits. The conventional approach to selecting the signal points of a PCM-derived constellation would be to choose ones of the quantization levels that are equally spaced and for levels for which the minimum distance between the levels is large enough to ensure reliable operation. The minimum distance criterion, in particular, is a critical design parameter because the transmitted signal points, when they traverse a local analog line, are inevitably displaced in signal space by channel noise and other channel impairments. Thus, the extent to which a transmitted signal may be erroneously detected at a receiving modem depends on the distance between the transmitted signal point and its nearest neighbor points in the PCM-derived constellation. Such a scheme will achieve a certain expected level of error rate performance, which many be adequate for particular applications. If a higher level of error rate performance is required, it is well known for voice-band modem transmissions to apply channel coding methods such as trellis coded modulation to an existing scheme to achieve an effective minimum distance between the signal points that allows for higher transfer rates with an equivalent level of performance. However, additional coding adds implementational complexity and transmission delays to system.
The standard may use trellis coding for all data signaling rates. Trellis encoding is a method for improving noise immunity using a convolutional coder to select a sequence of subsets in a partitioned signal constellation. The trellis encoders used in the ITU recommendation are used in a feedback structure where the inputs to the trellis encoder are derived from the signal points. Trellis coded modulation (TCM) is one of the coding standards recommended under the V.92 modem communications standard. Trellis codes using lattices of dimensions larger than two have been constructed and have several advantages. One dimensional (1D) symbols are grouped to form four-dimensional (4D) symbol intervals. Multidimensional trellis code signals as a basis for signal constellations are a theoretical concept, since, in practice, multidimensional signals are transmitted as sequences of one or two dimensional signals. Doubling the constellation size while maintaining constant energy reduces the minimum distance within the constellation, and this reduction has to be compensated for by the code before any coding gain can be achieved.
The decoding operation comprises finding the correct path through the trellis that most closely represents the received binary sequence. The decoder finds a path for the received binary sequence that has the minimum distance from the received sequence. The iterative procedure accomplishing the decoding is the Viterbi algorithm. The algorithm uses forward dynamic programming to select the best, or minimum distance, path through a trellis. At each node, in the trellis, the only path retained is the best path, therefore limiting the number of retained paths at any time instant to the total number of trellis nodes at that time.
The ability to design an appropriate transmission constellation plays a critical role in producing high quality modem transmissions in PCM upstream. The signal points of the PCM-derived signal constellation comprise points selected from PCM quantization levels, which eliminates PCM quantization noise as a source of noise in the overall system. What gets transmitted is the quantization level that is closest to the actual signal amplitude, for example an 8-bit word which represents that level. The discrepancy between the actual amplitude and the transmitted representation of that amplitude appears in the receiving modem as quantization noise. The PCM-derived signal constellation can be a u-law or A-law quantization that uses 255 or 256 quantization levels.